package com.yourenbang.lingyun.transaction.web.domain.dto.pay.linghuisuan;

import com.yourenbang.lingyun.core.util.json.ToJSON;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 返回样例:
 * {"applyPaymentTime":1700791379512,"batchNo":"T20220210000001","channelCode":"123456","custBatchNo":"SFT2022021000023",
 * "failNum":0,"failReason":"测试","paymentSuccessAmt":1000,"prePaymentAmt":1000,"preTaxesAmt":10,"remark":"测试",
 * "status":0,"successNum":10,"taxBaseCode":"200004000","taxesSuccessAmt":10,"totalNum":10}
 */
@Data
public class LinghuisuanPaymentNoticeDTO implements Serializable, ToJSON {

    /**
     * 付款申请时间
     */
    private String applyPaymentTime;

    /**
     * 平台批次号
     */
    private String batchNo;

    /**
     * 客户批次号
     */
    private String custBatchNo;

    /**
     * 付款状态 0:处理中 1:付
     * 款成功 2:付款失败 3:部
     * 分成功
     */
    private Integer status;

    /**
     * 服务商编码
     */
    private String taxBaseCode;

    /**
     * 总笔数
     */
    private Integer totalNum;

    /**
     * 成功笔数
     */
    private Integer successNum;

    /**
     * 失败笔数
     */
    private Integer failNum;

    /**
     * 失败原因,部分失败不返
     * 回，具体查看明细错误信
     * 息
     */
    private String failReason;

    /**
     * 服务费承担方
     * 1：企业承担
     * 2：个人承担
     * 需要运营设置是否支持多
     * 个，如果设置只支持一
     * 种，可不传，系统默认，
     * 否则根据使用外部自己使
     * 用传
     */
    private String deductionMethod;

    /**
     * 预代发总金额(元，2位小
     * 数)
     */
    private BigDecimal prePaymentAmt;

    /**
     * 实发总金额(元，2 位小
     * 数)
     */
    private BigDecimal paymentSuccessAmt;

    /**
     * 预扣服务费总金额(元，2
     * 位小数)
     */
    private BigDecimal preTaxesAmt;

    /**
     * 实扣服务费总金额(元，2
     * 位小数)
     */
    private BigDecimal taxesSuccessAmt;

    /**
     * 交易备注
     */
    private String remark;
}
